/* 
 * File:   list_bloqueados.c
 * Author: Raphael de Souza
 *
 * Created on October 18, 2012, 11:36 PM
 */
#include "Constantes_Globals.h"

//Inicia um no
link
new_no(Processo processo) {
        //Declara um novo no;
	link *nodes = malloc (sizeof(link));
	
	nodes->next = NULL;
        nodes->p = processo;
	
	return *nodes;
}

//Inicia a lista dos bloqueados - vazia
void
init(list_bloqueado *l) {
	l->tamanho = 0;
	l->first = NULL;
	l->last = NULL;
}

void 
insere_no(list_bloqueado *l, link *nodes) {
	if (l->tamanho == 0)
		l->first = l->last = nodes; 
	else 
		l->last->next = nodes;
	l->tamanho++;
}

//Sempre remove o primeiro a sair
int 
remove_no(list_bloqueado *l) {
	if (l->tamanho == 0)
		return 1; 
	else 
		l->first = l->first->next;
	l->tamanho--;
}